Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SYCL] Stop emitting kernel arguments metadata #2348

Merged
merged 2 commits into from
Aug 20, 2020

Conversation

premanandrao
Copy link
Contributor

OpenCL kernel arguments metadata - kernel_arg_addr_space,
kernel_arg_access_qual, kernel_arg_type, kernel_arg_base_type,
kernel_arg_type_qual and kernel_arg_name - are not needed
for SYCL. But this causes optimizations to unnecessarily
handle them, so stop emitting them.

Signed-off-by: Premanand M Rao premanand.m.rao@intel.com

OpenCL kernel arguments metadata - kernel_arg_addr_space,
kernel_arg_access_qual, kernel_arg_type, kernel_arg_base_type,
kernel_arg_type_qual and kernel_arg_name - are not needed
for SYCL.  But this causes optimizations to unnecessarily
handle them, so stop emitting them.

Signed-off-by: Premanand M Rao <premanand.m.rao@intel.com>
@premanandrao
Copy link
Contributor Author

If this could be reviewed asap, I would appreciate it as there is some urgency to fix this very soon. Thanks!

@elizabethandrews
Copy link
Contributor

Looks ok to me but it looks like there are several lit fails with check-sycl

@Fznamznon
Copy link
Contributor

Seems to me this metadata can be important for underlying OpenCL backends. We probably need to update it in DAE pass instead.

@bader
Copy link
Contributor

bader commented Aug 20, 2020

/summary:run

@bader
Copy link
Contributor

bader commented Aug 20, 2020

@elizabethandrews, @Fznamznon, check-sycl failures are fixed.

@bader
Copy link
Contributor

bader commented Aug 20, 2020

Seems to me this metadata can be important for underlying OpenCL backends.

For some reason ESIMD mode uses OpenCL metadata for CM back-end. @kbobrovs, @dendibakh, could you clarify what these metadata are used for?

@bader bader merged commit f658918 into intel:sycl Aug 20, 2020
@premanandrao
Copy link
Contributor Author

Thanks @bader, @Fznamznon and @elizabethandrews !

@DenisBakhvalov
Copy link
Contributor

Seems to me this metadata can be important for underlying OpenCL backends.

For some reason ESIMD mode uses OpenCL metadata for CM back-end. @kbobrovs, @dendibakh, could you clarify what these metadata are used for?

I'm not sure. @cmc-rep, do you know why we need kernel_arg* metadata in ESIMD mode?

@cmc-rep
Copy link
Contributor

cmc-rep commented Aug 20, 2020

I am not sure either. @kbobrovs, please comment on this

@MrSidims
Copy link
Contributor

@premanandrao With this change we stopped emitting buffer_location metadata for ESIMD mode. Was it intended?

@bader
Copy link
Contributor

bader commented Aug 24, 2020

Yes. AFAIK, ESIMD is Intel GPU specific feature, whereas buffer_location metadata is emitted for FPGA-specific feature.
Let me know if you think there is anything wrong with it.

@MrSidims
Copy link
Contributor

Got it, thanks.

jsji pushed a commit that referenced this pull request Feb 15, 2024
Small fix but yields around 30% speedup for translation
SPIR-V to IR.

Original commit:
KhronosGroup/SPIRV-LLVM-Translator@513b9578d310282
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants